import java.util.ArrayList;
import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

@Entity
@Table(name="cliente")
@PrimaryKeyJoinColumn(name="id_pessoa")
public class Cliente extends Pessoa {
    
          
    @Column(name = "credito")
    private Double credito;

    @Column(name = "saldo")
    private Double saldo;

    @Column(name = "observacao")
    private String observacao;    

    public Cliente() {}    

    

    public Double getCredito() {
        return credito;
    }

    public void setCredito(Double credito) {
        this.credito = credito;
    }    

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }


    public Collection<String> validator() {
        ArrayList mensagensErro = new ArrayList();

        if(getNome() == null || getNome().equals(""))
            mensagensErro.add("Nome: Campo Obrigatório não Informado.");
        if( (getIdentidade() == null || getIdentidade().equals("")) && ( getCpf() == null || getCpf().equals("")))
            mensagensErro.add("CPF ou Identidade: Um desses campos deve ser preenchido.");
        if(getSexo() == null || (!getSexo().equals('M') && !getSexo().equals('F')) ) {
            mensagensErro.add("Sexo: Campo Obrigatório não Informado.");
        }

        
        return mensagensErro;
    }

    public Double getSaldo() {
        return saldo;
    }

    public void setSaldo(Double saldo) {
        this.saldo = saldo;
    }
    
}